home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-1 / Inter.Net 55-1.iso / CBuilder / Setup / BCB / data.z / digitalv.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-09  |  36.9 KB  |  1,093 lines

  1. /****************************************************************************/
  2. /*                                                                          */
  3. /*        DIGITALV.H - Include file for the MCI Digital Video Command Set   */
  4. /*                                                                          */
  5. /*                              Version 1.0                                 */
  6. /*                                                                          */
  7. /*        Copyright (c) 1995-1996, Microsoft Corp.  All rights reserved.    */
  8. /*                                                                          */
  9. /*  Date            Modification                                            */
  10. /*  ------------    ------------                                            */
  11. /*  Aug 19, 1992    -Version 1.0 Release                                    */
  12. /*                                                                          */
  13. /****************************************************************************/
  14.  
  15. #ifndef __DIGITALV_H
  16. #define __DIGITALV_H
  17. #define _INC_DIGITALV  100
  18. #pragma option push -b
  19.  
  20. #ifdef __cplusplus
  21. extern "C" {            /* Assume C declarations for C++ */
  22. #endif    /* __cplusplus */
  23.  
  24. #define MCI_TEST                            0x00000020L
  25.  
  26. /* Message values */
  27.  
  28. #define MCI_CAPTURE                         0x0870
  29. #define MCI_MONITOR                         0x0871
  30. #define MCI_RESERVE                         0x0872
  31. #define MCI_SETAUDIO                        0x0873
  32. #define MCI_SIGNAL                          0x0875
  33. #define MCI_SETVIDEO                        0x0876
  34. #define MCI_QUALITY                         0x0877
  35. #define MCI_LIST                            0x0878
  36. #define MCI_UNDO                            0x0879
  37. #define MCI_CONFIGURE                       0x087a
  38. #define MCI_RESTORE                         0x087b
  39.  
  40. /* Return and string constant values */
  41.  
  42. #define MCI_ON   1
  43. #define MCI_OFF  0
  44.  
  45. #define MCI_DGV_FILE_MODE_SAVING            0x0001
  46. #define MCI_DGV_FILE_MODE_LOADING           0x0002
  47. #define MCI_DGV_FILE_MODE_EDITING           0x0003
  48. #define MCI_DGV_FILE_MODE_IDLE              0x0004
  49.  
  50. /* These identifiers are used only by device drivers */
  51.  
  52. #define MCI_ON_S                            0x00008000L
  53. #define MCI_OFF_S                           0x00008001L
  54. #define MCI_DGV_FILE_S                      0x00008002L
  55. #define MCI_DGV_INPUT_S                     0x00008003L
  56.  
  57. #define MCI_DGV_FILE_MODE_SAVING_S          0x00008004L
  58. #define MCI_DGV_FILE_MODE_LOADING_S         0x00008005L
  59. #define MCI_DGV_FILE_MODE_EDITING_S         0x00008006L
  60. #define MCI_DGV_FILE_MODE_IDLE_S            0x00008007L
  61.  
  62. #define MCI_DGV_SETVIDEO_SRC_NTSC_S         0x00008010L
  63. #define MCI_DGV_SETVIDEO_SRC_RGB_S          0x00008011L
  64. #define MCI_DGV_SETVIDEO_SRC_SVIDEO_S       0x00008012L
  65. #define MCI_DGV_SETVIDEO_SRC_PAL_S          0x00008013L
  66. #define MCI_DGV_SETVIDEO_SRC_SECAM_S        0x00008014L
  67. #define MCI_DGV_SETVIDEO_SRC_GENERIC_S      0x00008015L
  68.  
  69. #define MCI_DGV_SETAUDIO_SRC_LEFT_S         0x00008020L
  70. #define MCI_DGV_SETAUDIO_SRC_RIGHT_S        0x00008021L
  71. #define MCI_DGV_SETAUDIO_SRC_AVERAGE_S      0x00008022L
  72. #define MCI_DGV_SETAUDIO_SRC_STEREO_S       0x00008023L
  73.  
  74. /* Window message for signal notification */
  75.  
  76. #define MM_MCISIGNAL                        0x3CB
  77.  
  78. /* error values */
  79.  
  80. #define MCIERR_DGV_DEVICE_LIMIT             (MCIERR_CUSTOM_DRIVER_BASE+0)
  81. #define MCIERR_DGV_IOERR                    (MCIERR_CUSTOM_DRIVER_BASE+1)
  82. #define MCIERR_DGV_WORKSPACE_EMPTY          (MCIERR_CUSTOM_DRIVER_BASE+2)
  83. #define MCIERR_DGV_DISK_FULL                (MCIERR_CUSTOM_DRIVER_BASE+3)
  84. #define MCIERR_DGV_DEVICE_MEMORY_FULL       (MCIERR_CUSTOM_DRIVER_BASE+4)
  85. #define MCIERR_DGV_BAD_CLIPBOARD_RANGE      (MCIERR_CUSTOM_DRIVER_BASE+5)
  86.  
  87. /* defines for monitor methods */
  88.  
  89. #define MCI_DGV_METHOD_PRE                  0x0000a000L
  90. #define MCI_DGV_METHOD_POST                 0x0000a001L
  91. #define MCI_DGV_METHOD_DIRECT               0x0000a002L
  92.  
  93. /* defines for known file formats */
  94.  
  95. #define MCI_DGV_FF_AVSS                     0x00004000L
  96. #define MCI_DGV_FF_AVI                      0x00004001L
  97. #define MCI_DGV_FF_DIB                      0x00004002L
  98. #define MCI_DGV_FF_RDIB                     0x00004003L
  99. #define MCI_DGV_FF_JPEG                     0x00004004L
  100. #define MCI_DGV_FF_RJPEG                    0x00004005L
  101. #define MCI_DGV_FF_JFIF                     0x00004006L
  102. #define MCI_DGV_FF_MPEG                     0x00004007L
  103.  
  104. /* values for dwItem field of MCI_CAPABILITY_PARMS structure */
  105.  
  106. #define MCI_DGV_GETDEVCAPS_CAN_LOCK         0x00004000L
  107. #define MCI_DGV_GETDEVCAPS_CAN_STRETCH      0x00004001L
  108. #define MCI_DGV_GETDEVCAPS_CAN_FREEZE       0x00004002L
  109. #define MCI_DGV_GETDEVCAPS_MAX_WINDOWS      0x00004003L
  110. #define MCI_DGV_GETDEVCAPS_CAN_REVERSE      0x00004004L
  111. #define MCI_DGV_GETDEVCAPS_HAS_STILL        0x00004005L
  112. #define MCI_DGV_GETDEVCAPS_PALETTES         0x00004006L
  113. #define MCI_DGV_GETDEVCAPS_CAN_STR_IN       0x00004008L
  114. #define MCI_DGV_GETDEVCAPS_CAN_TEST         0x00004009L
  115. #define MCI_DGV_GETDEVCAPS_MAXIMUM_RATE     0x0000400aL
  116. #define MCI_DGV_GETDEVCAPS_MINIMUM_RATE     0x0000400bL
  117.  
  118. /* flags for dwFlags parameter of MCI_CAPTURE command message */
  119.  
  120. #define MCI_DGV_CAPTURE_AS                  0x00010000L
  121. #define MCI_DGV_CAPTURE_AT                  0x00020000L
  122.  
  123. /* flags for dwFlags parameter of MCI_COPY command message */
  124.  
  125. #define MCI_DGV_COPY_AT                     0x00010000L
  126. #define MCI_DGV_COPY_AUDIO_STREAM           0x00020000L
  127. #define MCI_DGV_COPY_VIDEO_STREAM           0x00040000L
  128.  
  129. /* flags for dwFlags parameter of MCI_CUE command message */
  130.  
  131. #define MCI_DGV_CUE_INPUT                   0x00010000L
  132. #define MCI_DGV_CUE_OUTPUT                  0x00020000L
  133. #define MCI_DGV_CUE_NOSHOW                  0x00040000L
  134.  
  135. /* flags for dwFlags parameter of MCI_CUT command message */
  136.  
  137. #define MCI_DGV_CUT_AT                      0x00010000L
  138. #define MCI_DGV_CUT_AUDIO_STREAM            0x00020000L
  139. #define MCI_DGV_CUT_VIDEO_STREAM            0x00040000L
  140.  
  141. /* flags for dwFlags parameter of MCI_DELETE command message */
  142.  
  143. #define MCI_DGV_DELETE_AT                   0x00010000L
  144. #define MCI_DGV_DELETE_AUDIO_STREAM         0x00020000L
  145. #define MCI_DGV_DELETE_VIDEO_STREAM         0x00040000L
  146.  
  147. /* flags for dwFlags parameter of MCI_FREEZE command message */
  148.  
  149. #define MCI_DGV_FREEZE_AT                   0x00010000L
  150. #define MCI_DGV_FREEZE_OUTSIDE              0x00020000L
  151.  
  152. /* flags for dwFlags parameter of MCI_INFO command message */
  153.  
  154. #define MCI_DGV_INFO_TEXT                   0x00010000L
  155. #define MCI_DGV_INFO_ITEM                   0X00020000L
  156.  
  157. /* values for dwItem field of MCI_DGV_INFO_PARMS structure */
  158.  
  159. #define MCI_INFO_VERSION                    0x00000400L
  160.  
  161. #define MCI_DGV_INFO_USAGE                  0x00004000L
  162. #define MCI_DGV_INFO_AUDIO_QUALITY          0x00004001L
  163. #define MCI_DGV_INFO_STILL_QUALITY          0x00004002L
  164. #define MCI_DGV_INFO_VIDEO_QUALITY          0x00004003L
  165. #define MCI_DGV_INFO_AUDIO_ALG              0x00004004L
  166. #define MCI_DGV_INFO_STILL_ALG              0x00004005L
  167. #define MCI_DGV_INFO_VIDEO_ALG              0x00004006L
  168.  
  169. /* flags for dwFlags parameter of MCI_LIST command message */
  170.  
  171. #define MCI_DGV_LIST_ITEM                   0x00010000L
  172. #define MCI_DGV_LIST_COUNT                  0x00020000L
  173. #define MCI_DGV_LIST_NUMBER                 0x00040000L
  174. #define MCI_DGV_LIST_ALG                    0x00080000L
  175.  
  176. /* values for dwItem field of MCI_DGV_LIST_PARMS structure */
  177.  
  178. #define MCI_DGV_LIST_AUDIO_ALG              0x00004000L
  179. #define MCI_DGV_LIST_AUDIO_QUALITY          0x00004001L
  180. #define MCI_DGV_LIST_AUDIO_STREAM           0x00004002L
  181. #define MCI_DGV_LIST_STILL_ALG              0x00004003L
  182. #define MCI_DGV_LIST_STILL_QUALITY          0x00004004L
  183. #define MCI_DGV_LIST_VIDEO_ALG              0x00004005L
  184. #define MCI_DGV_LIST_VIDEO_QUALITY          0x00004006L
  185. #define MCI_DGV_LIST_VIDEO_STREAM           0x00004007L
  186. #define MCI_DGV_LIST_VIDEO_SOURCE           0x00004008L
  187.  
  188.  
  189. /* flags for dwFlags parameter of MCI_MONITOR command message */
  190.  
  191. #define MCI_DGV_MONITOR_METHOD              0x00010000L
  192. #define MCI_DGV_MONITOR_SOURCE              0x00020000L
  193.  
  194. /* values for dwSource parameter of the MCI_DGV_MONITOR_PARMS struture */
  195.  
  196. #define MCI_DGV_MONITOR_INPUT               0x00004000L
  197. #define MCI_DGV_MONITOR_FILE                0x00004001L
  198.  
  199. /* flags for dwFlags parameter of MCI_OPEN command message */
  200.  
  201. #define MCI_DGV_OPEN_WS                     0x00010000L
  202. #define MCI_DGV_OPEN_PARENT                 0x00020000L
  203. #define MCI_DGV_OPEN_NOSTATIC               0x00040000L
  204. #define MCI_DGV_OPEN_16BIT                  0x00080000L
  205. #define MCI_DGV_OPEN_32BIT                  0x00100000L
  206.  
  207. /* flags for dwFlags parameter of MCI_PASTE command message */
  208.  
  209. #define MCI_DGV_PASTE_AT                    0x00010000L
  210. #define MCI_DGV_PASTE_AUDIO_STREAM          0x00020000L
  211. #define MCI_DGV_PASTE_VIDEO_STREAM          0x00040000L
  212. #define MCI_DGV_PASTE_INSERT                0x00080000L
  213. #define MCI_DGV_PASTE_OVERWRITE             0x00100000L
  214.  
  215. /* flags for dwFlags parameter of MCI_PLAY command message */
  216.  
  217. #define MCI_DGV_PLAY_REPEAT                 0x00010000L
  218. #define MCI_DGV_PLAY_REVERSE                0x00020000L
  219.  
  220. /* flags for dwFlags parameter of MCI_PUT command message */
  221.  
  222. #define MCI_DGV_RECT                        0x00010000L
  223. #define MCI_DGV_PUT_SOURCE                  0x00020000L
  224. #define MCI_DGV_PUT_DESTINATION             0x00040000L
  225. #define MCI_DGV_PUT_FRAME                   0x00080000L
  226. #define MCI_DGV_PUT_VIDEO                   0x00100000L
  227. #define MCI_DGV_PUT_WINDOW                  0x00200000L
  228. #define MCI_DGV_PUT_CLIENT                  0x00400000L
  229.  
  230. /* flags for dwFlags parameter of MCI_QUALITY command message */
  231.  
  232. #define MCI_QUALITY_ITEM                    0x00010000L
  233. #define MCI_QUALITY_NAME                    0x00020000L
  234. #define MCI_QUALITY_ALG                     0x00040000L
  235. #define MCI_QUALITY_DIALOG                  0x00080000L
  236. #define MCI_QUALITY_HANDLE                  0x00100000L
  237.  
  238. /* values for dwItem field of MCI_QUALITY_PARMS structure */
  239.  
  240. #define MCI_QUALITY_ITEM_AUDIO              0x00004000L
  241. #define MCI_QUALITY_ITEM_STILL              0x00004001L
  242. #define MCI_QUALITY_ITEM_VIDEO              0x00004002L
  243.  
  244. /* flags for dwFlags parameter of MCI_REALIZE command message */
  245.  
  246. #define MCI_DGV_REALIZE_NORM                0x00010000L
  247. #define MCI_DGV_REALIZE_BKGD                0x00020000L
  248.  
  249. /* flags for dwFlags parameter of MCI_RECORD command message */
  250.  
  251. #define MCI_DGV_RECORD_HOLD                 0x00020000L
  252. #define MCI_DGV_RECORD_AUDIO_STREAM         0x00040000L
  253. #define MCI_DGV_RECORD_VIDEO_STREAM         0x00080000L
  254.  
  255. /* flags for dwFlags parameters of MCI_RESERVE command message */
  256.  
  257. #define MCI_DGV_RESERVE_IN                  0x00010000L
  258. #define MCI_DGV_RESERVE_SIZE                0x00020000L
  259.  
  260. /* flags for dwFlags parameter of MCI_RESTORE command message */
  261.  
  262. #define MCI_DGV_RESTORE_FROM                0x00010000L
  263. #define MCI_DGV_RESTORE_AT                  0x00020000L
  264.  
  265. /* flags for dwFlags parameters of MCI_SAVE command message */
  266.  
  267. #define MCI_DGV_SAVE_ABORT                  0x00020000L
  268. #define MCI_DGV_SAVE_KEEPRESERVE            0x00040000L
  269.  
  270. /* flags for dwFlags parameters of MCI_SET command message */
  271.  
  272. #define MCI_DGV_SET_SEEK_EXACTLY            0x00010000L
  273. #define MCI_DGV_SET_SPEED                   0x00020000L
  274. #define MCI_DGV_SET_STILL                   0x00040000L
  275. #define MCI_DGV_SET_FILEFORMAT              0x00080000L
  276.  
  277. /* flags for the dwFlags parameter of MCI_SETAUDIO command message */
  278.  
  279. #define MCI_DGV_SETAUDIO_OVER               0x00010000L
  280. #define MCI_DGV_SETAUDIO_CLOCKTIME          0x00020000L
  281. #define MCI_DGV_SETAUDIO_ALG                0x00040000L
  282. #define MCI_DGV_SETAUDIO_QUALITY            0x00080000L
  283. #define MCI_DGV_SETAUDIO_RECORD             0x00100000L
  284. #define MCI_DGV_SETAUDIO_LEFT               0x00200000L
  285. #define MCI_DGV_SETAUDIO_RIGHT              0x00400000L
  286. #define MCI_DGV_SETAUDIO_ITEM               0x00800000L
  287. #define MCI_DGV_SETAUDIO_VALUE              0x01000000L
  288. #define MCI_DGV_SETAUDIO_INPUT              0x02000000L
  289. #define MCI_DGV_SETAUDIO_OUTPUT             0x04000000L
  290.  
  291. /* values for the dwItem parameter of MCI_DGV_SETAUDIO_PARMS */
  292.  
  293. #define MCI_DGV_SETAUDIO_TREBLE             0x00004000L
  294. #define MCI_DGV_SETAUDIO_BASS               0x00004001L
  295. #define MCI_DGV_SETAUDIO_VOLUME             0x00004002L
  296. #define MCI_DGV_SETAUDIO_STREAM             0x00004003L
  297. #define MCI_DGV_SETAUDIO_SOURCE             0x00004004L
  298. #define MCI_DGV_SETAUDIO_SAMPLESPERSEC      0x00004005L
  299. #define MCI_DGV_SETAUDIO_AVGBYTESPERSEC     0x00004006L
  300. #define MCI_DGV_SETAUDIO_BLOCKALIGN         0x00004007L
  301. #define MCI_DGV_SETAUDIO_BITSPERSAMPLE      0x00004008L
  302.  
  303. /* values for the dwValue parameter of MCI_DGV_SETAUDIO_PARMS
  304.    used with MCI_DGV_SETAUDIO_SOURCE */
  305.  
  306. #define MCI_DGV_SETAUDIO_SOURCE_STEREO      0x00000000L
  307. #define MCI_DGV_SETAUDIO_SOURCE_LEFT        0x00000001L
  308. #define MCI_DGV_SETAUDIO_SOURCE_RIGHT       0x00000002L
  309. #define MCI_DGV_SETAUDIO_SOURCE_AVERAGE     0x00004000L
  310.  
  311. /* flags for the dwFlags parameter of MCI_SETVIDEO command */
  312.  
  313. #define MCI_DGV_SETVIDEO_QUALITY            0x00010000L
  314. #define MCI_DGV_SETVIDEO_ALG                0x00020000L
  315. #define MCI_DGV_SETVIDEO_CLOCKTIME          0x00040000L
  316. #define MCI_DGV_SETVIDEO_SRC_NUMBER         0x00080000L
  317. #define MCI_DGV_SETVIDEO_ITEM               0x00100000L
  318. #define MCI_DGV_SETVIDEO_OVER               0x00200000L
  319. #define MCI_DGV_SETVIDEO_RECORD             0x00400000L
  320. #define MCI_DGV_SETVIDEO_STILL              0x00800000L
  321. #define MCI_DGV_SETVIDEO_VALUE              0x01000000L
  322. #define MCI_DGV_SETVIDEO_INPUT              0x02000000L
  323. #define MCI_DGV_SETVIDEO_OUTPUT             0x04000000L
  324.  
  325. /* values for the dwTo field of MCI_SETVIDEO_PARMS
  326.    used with MCI_DGV_SETVIDEO_SOURCE */
  327.  
  328. #define MCI_DGV_SETVIDEO_SRC_NTSC           0x00004000L
  329. #define MCI_DGV_SETVIDEO_SRC_RGB            0x00004001L
  330. #define MCI_DGV_SETVIDEO_SRC_SVIDEO         0x00004002L
  331. #define MCI_DGV_SETVIDEO_SRC_PAL            0x00004003L
  332. #define MCI_DGV_SETVIDEO_SRC_SECAM          0x00004004L
  333. #define MCI_DGV_SETVIDEO_SRC_GENERIC        0x00004005L
  334.  
  335. /* values for the dwItem field of MCI_SETVIDEO_PARMS */
  336.  
  337. #define MCI_DGV_SETVIDEO_BRIGHTNESS         0x00004000L
  338. #define MCI_DGV_SETVIDEO_COLOR              0x00004001L
  339. #define MCI_DGV_SETVIDEO_CONTRAST           0x00004002L
  340. #define MCI_DGV_SETVIDEO_TINT               0x00004003L
  341. #define MCI_DGV_SETVIDEO_SHARPNESS          0x00004004L
  342. #define MCI_DGV_SETVIDEO_GAMMA              0x00004005L
  343. #define MCI_DGV_SETVIDEO_STREAM             0x00004006L
  344. #define MCI_DGV_SETVIDEO_PALHANDLE          0x00004007L
  345. #define MCI_DGV_SETVIDEO_FRAME_RATE         0x00004008L
  346. #define MCI_DGV_SETVIDEO_SOURCE             0x00004009L
  347. #define MCI_DGV_SETVIDEO_KEY_INDEX          0x0000400aL
  348. #define MCI_DGV_SETVIDEO_KEY_COLOR          0x0000400bL
  349. #define MCI_DGV_SETVIDEO_BITSPERPEL         0x0000400cL
  350.  
  351. /* flags for the dwFlags parameter of MCI_SIGNAL */
  352.  
  353. #define MCI_DGV_SIGNAL_AT                   0x00010000L
  354. #define MCI_DGV_SIGNAL_EVERY                0x00020000L
  355. #define MCI_DGV_SIGNAL_USERVAL              0x00040000L
  356. #define MCI_DGV_SIGNAL_CANCEL               0x00080000L
  357. #define MCI_DGV_SIGNAL_POSITION             0x00100000L
  358.  
  359. /* The following is the function digitalvideo drivers must use
  360.  * to signal when a frame marked by the SIGNAL command has been rendered:
  361.  *
  362.  *  SEND_DGVSIGNAL(dwFlags, dwCallback, hDriver, wDeviceID, dwUser, dwPos )
  363.  *
  364.  * The following is a description of the parameters:
  365.  *
  366.  *  dwFlags    - the dwFlags parameter passed when the signal was set
  367.  *  dwCallback - the dwCallback value from the MCI_DGV_SIGNAL_PARMS struct
  368.  *               used to set the signal
  369.  *  hDriver    - the handle assigned to the driver by MMSYSTEM when the
  370.  *               device was opened
  371.  *  wDeviceID  - the device ID
  372.  *  dwUser     - the dwUserParm value from the MCI_DGV_SIGNAL_PARMS struct
  373.  *               used to set the signal
  374.  *  dwPos      - the position at which the signal was sent, in the current
  375.  *               time format.
  376.  *
  377.  * The window indicated by the handle in the dwCallback field is notified
  378.  * by means of a Windows message with the following form:
  379.  *
  380.  * msg    = MM_MCISIGNAL
  381.  * wParam = wDeviceID of the sending driver
  382.  * lParam = the uservalue specified or the position the signal was sent
  383.  *          at; the latter if the MCI_DGV_SIGNAL_POSITION flag was set
  384.  *          in the dwFlags parameter when the signal was created.
  385.  */
  386.  
  387. #define SEND_DGVSIGNAL(dwFlags, dwCallback, hDriver, wDeviceID, dwUser, dwPos ) \
  388.   DriverCallback( (dwCallback), DCB_WINDOW, (HANDLE)(wDeviceID), MM_MCISIGNAL,\
  389.   hDriver, ((dwFlags) & MCI_DGV_SIGNAL_POSITION) ? (dwPos):(dwUser),\
  390.   ((dwFlags) & MCI_DGV_SIGNAL_POSITION) ? (dwUser):(dwPos))
  391.  
  392. /* flags for the dwFlags parameter of MCI_STATUS command */
  393.  
  394. #define MCI_DGV_STATUS_NOMINAL              0x00020000L
  395. #define MCI_DGV_STATUS_REFERENCE            0x00040000L
  396. #define MCI_DGV_STATUS_LEFT                 0x00080000L
  397. #define MCI_DGV_STATUS_RIGHT                0x00100000L
  398. #define MCI_DGV_STATUS_DISKSPACE            0x00200000L
  399. #define MCI_DGV_STATUS_INPUT                0x00400000L
  400. #define MCI_DGV_STATUS_OUTPUT               0x00800000L
  401. #define MCI_DGV_STATUS_RECORD               0x01000000L
  402.  
  403. /* values for dwItem field of MCI_STATUS_PARMS structure */
  404.  
  405. #define MCI_DGV_STATUS_AUDIO_INPUT          0x00004000L
  406. #define MCI_DGV_STATUS_HWND                 0x00004001L
  407. #define MCI_DGV_STATUS_SPEED                0x00004003L
  408. #define MCI_DGV_STATUS_HPAL                 0x00004004L
  409. #define MCI_DGV_STATUS_BRIGHTNESS           0x00004005L
  410. #define MCI_DGV_STATUS_COLOR                0x00004006L
  411. #define MCI_DGV_STATUS_CONTRAST             0x00004007L
  412. #define MCI_DGV_STATUS_FILEFORMAT           0x00004008L
  413. #define MCI_DGV_STATUS_AUDIO_SOURCE         0x00004009L
  414. #define MCI_DGV_STATUS_GAMMA                0x0000400aL
  415. #define MCI_DGV_STATUS_MONITOR              0x0000400bL
  416. #define MCI_DGV_STATUS_MONITOR_METHOD       0x0000400cL
  417. #define MCI_DGV_STATUS_FRAME_RATE           0x0000400eL
  418. #define MCI_DGV_STATUS_BASS                 0x0000400fL
  419. #define MCI_DGV_STATUS_SIZE                 0x00004010L
  420. #define MCI_DGV_STATUS_SEEK_EXACTLY         0x00004011L
  421. #define MCI_DGV_STATUS_SHARPNESS            0x00004012L
  422. #define MCI_DGV_STATUS_SMPTE                0x00004013L
  423. #define MCI_DGV_STATUS_AUDIO                0x00004014L
  424. #define MCI_DGV_STATUS_TINT                 0x00004015L
  425. #define MCI_DGV_STATUS_TREBLE               0x00004016L
  426. #define MCI_DGV_STATUS_UNSAVED              0x00004017L
  427. #define MCI_DGV_STATUS_VIDEO                0x00004018L
  428. #define MCI_DGV_STATUS_VOLUME               0x00004019L
  429. #define MCI_DGV_STATUS_AUDIO_RECORD         0x0000401aL
  430. #define MCI_DGV_STATUS_VIDEO_SOURCE         0x0000401bL
  431. #define MCI_DGV_STATUS_VIDEO_RECORD         0x0000401cL
  432. #define MCI_DGV_STATUS_STILL_FILEFORMAT     0x0000401dL
  433. #define MCI_DGV_STATUS_VIDEO_SRC_NUM        0x0000401eL
  434. #define MCI_DGV_STATUS_FILE_MODE            0x0000401fL
  435. #define MCI_DGV_STATUS_FILE_COMPLETION      0x00004020L
  436. #define MCI_DGV_STATUS_WINDOW_VISIBLE       0x00004021L
  437. #define MCI_DGV_STATUS_WINDOW_MINIMIZED     0x00004022L
  438. #define MCI_DGV_STATUS_WINDOW_MAXIMIZED     0x00004023L
  439. #define MCI_DGV_STATUS_KEY_INDEX            0x00004024L
  440. #define MCI_DGV_STATUS_KEY_COLOR            0x00004025L
  441. #define MCI_DGV_STATUS_PAUSE_MODE           0x00004026L
  442. #define MCI_DGV_STATUS_SAMPLESPERSEC        0x00004027L
  443. #define MCI_DGV_STATUS_AVGBYTESPERSEC       0x00004028L
  444. #define MCI_DGV_STATUS_BLOCKALIGN           0x00004029L
  445. #define MCI_DGV_STATUS_BITSPERSAMPLE        0x0000402aL
  446. #define MCI_DGV_STATUS_BITSPERPEL           0x0000402bL
  447. #define MCI_DGV_STATUS_FORWARD              0x0000402cL
  448. #define MCI_DGV_STATUS_AUDIO_STREAM         0x0000402dL
  449. #define MCI_DGV_STATUS_VIDEO_STREAM         0x0000402eL
  450.  
  451. /* flags for dwFlags parameter of MCI_STEP command message */
  452.  
  453. #define MCI_DGV_STEP_REVERSE                0x00010000L
  454. #define MCI_DGV_STEP_FRAMES                 0x00020000L
  455.  
  456. /* flags for dwFlags parameter of MCI_STOP command message */
  457.  
  458. #define MCI_DGV_STOP_HOLD                   0x00010000L
  459.  
  460. /* flags for dwFlags parameter of MCI_UPDATE command message */
  461.  
  462. #define MCI_DGV_UPDATE_HDC                  0x00020000L
  463. #define MCI_DGV_UPDATE_PAINT                0x00040000L
  464.  
  465. /* flags for dwFlags parameter of MCI_WHERE command message */
  466.  
  467. #define MCI_DGV_WHERE_SOURCE                0x00020000L
  468. #define MCI_DGV_WHERE_DESTINATION           0x00040000L
  469. #define MCI_DGV_WHERE_FRAME                 0x00080000L
  470. #define MCI_DGV_WHERE_VIDEO                 0x00100000L
  471. #define MCI_DGV_WHERE_WINDOW                0x00200000L
  472. #define MCI_DGV_WHERE_MAX                   0x00400000L
  473.  
  474. /* flags for dwFlags parameter of MCI_WINDOW command message */
  475.  
  476. #define MCI_DGV_WINDOW_HWND                 0x00010000L
  477. #define MCI_DGV_WINDOW_STATE                0x00040000L
  478. #define MCI_DGV_WINDOW_TEXT                 0x00080000L
  479.  
  480. /* flags for hWnd parameter of MCI_DGV_WINDOW_PARMS parameter block */
  481.  
  482. #define MCI_DGV_WINDOW_DEFAULT              0x00000000L
  483.  
  484. /* parameter block for MCI_WHERE, MCI_PUT, MCI_FREEZE, MCI_UNFREEZE cmds */
  485.  
  486. typedef struct {
  487.     DWORD   dwCallback;
  488. #ifdef MCI_USE_OFFEXT
  489.     POINT   ptOffset;
  490.     POINT   ptExtent;
  491. #else    
  492.     RECT    rc;
  493. #endif
  494. } MCI_DGV_RECT_PARMS;
  495. typedef MCI_DGV_RECT_PARMS FAR * LPMCI_DGV_RECT_PARMS;
  496.  
  497. /* parameter block for MCI_CAPTURE command message */
  498.  
  499. typedef struct {
  500.     DWORD   dwCallback;
  501.     LPSTR   lpstrFileName;
  502. #ifdef MCI_USE_OFFEXT
  503.     POINT   ptOffset;
  504.     POINT   ptExtent;
  505. #else    
  506.     RECT    rc;
  507. #endif
  508. } MCI_DGV_CAPTURE_PARMSA;
  509. typedef struct {
  510.     DWORD   dwCallback;
  511.     LPWSTR  lpstrFileName;
  512. #ifdef MCI_USE_OFFEXT
  513.     POINT   ptOffset;
  514.     POINT   ptExtent;
  515. #else    
  516.     RECT    rc;
  517. #endif
  518. } MCI_DGV_CAPTURE_PARMSW;
  519. #ifdef UNICODE
  520. typedef MCI_DGV_CAPTURE_PARMSW MCI_DGV_CAPTURE_PARMS;
  521. #else
  522. typedef MCI_DGV_CAPTURE_PARMSA MCI_DGV_CAPTURE_PARMS;
  523. #endif // UNICODE
  524. typedef MCI_DGV_CAPTURE_PARMSA FAR * LPMCI_DGV_CAPTURE_PARMSA;
  525. typedef MCI_DGV_CAPTURE_PARMSW FAR * LPMCI_DGV_CAPTURE_PARMSW;
  526. #ifdef UNICODE
  527. typedef LPMCI_DGV_CAPTURE_PARMSW LPMCI_DGV_CAPTURE_PARMS;
  528. #else
  529. typedef LPMCI_DGV_CAPTURE_PARMSA LPMCI_DGV_CAPTURE_PARMS;
  530. #endif // UNICODE
  531.  
  532. /* parameter block for MCI_CLOSE command message */
  533.  
  534. typedef MCI_GENERIC_PARMS MCI_CLOSE_PARMS;
  535. typedef MCI_CLOSE_PARMS FAR * LPMCI_CLOSE_PARMS;
  536.  
  537. /* parameter block for MCI_COPY command message */
  538.  
  539. typedef struct {
  540.     DWORD   dwCallback;
  541.     DWORD   dwFrom;
  542.     DWORD   dwTo;
  543. #ifdef MCI_USE_OFFEXT
  544.     POINT   ptOffset;
  545.     POINT   ptExtent;
  546. #else    
  547.     RECT    rc;
  548. #endif
  549.     DWORD   dwAudioStream;
  550.     DWORD   dwVideoStream;
  551. } MCI_DGV_COPY_PARMS;
  552. typedef MCI_DGV_COPY_PARMS FAR * LPMCI_DGV_COPY_PARMS;
  553.  
  554. /* parameter block for MCI_CUE command message */
  555.  
  556. typedef struct {
  557.     DWORD   dwCallback;
  558.     DWORD   dwTo;
  559. } MCI_DGV_CUE_PARMS;
  560. typedef MCI_DGV_CUE_PARMS FAR * LPMCI_DGV_CUE_PARMS;
  561.  
  562. /* parameter block for MCI_CUT command message */
  563.  
  564. typedef struct {
  565.     DWORD   dwCallback;
  566.     DWORD   dwFrom;
  567.     DWORD   dwTo;
  568. #ifdef MCI_USE_OFFEXT
  569.     POINT   ptOffset;
  570.     POINT   ptExtent;
  571. #else    
  572.     RECT    rc;
  573. #endif
  574.     DWORD   dwAudioStream;
  575.     DWORD   dwVideoStream;
  576. } MCI_DGV_CUT_PARMS;
  577. typedef MCI_DGV_CUT_PARMS FAR * LPMCI_DGV_CUT_PARMS;
  578.  
  579. /* parameter block for MCI_DELETE command message */
  580.  
  581. typedef struct {
  582.     DWORD   dwCallback;
  583.     DWORD   dwFrom;
  584.     DWORD   dwTo;
  585. #ifdef MCI_USE_OFFEXT
  586.     POINT   ptOffset;
  587.     POINT   ptExtent;
  588. #else    
  589.     RECT    rc;
  590. #endif
  591.     DWORD   dwAudioStream;
  592.     DWORD   dwVideoStream;
  593. } MCI_DGV_DELETE_PARMS;
  594. typedef MCI_DGV_DELETE_PARMS FAR * LPMCI_DGV_DELETE_PARMS;
  595.  
  596. /* parameter block for MCI_FREEZE command message */
  597.  
  598. typedef MCI_DGV_RECT_PARMS MCI_DGV_FREEZE_PARMS;
  599. typedef MCI_DGV_FREEZE_PARMS FAR * LPMCI_DGV_FREEZE_PARMS;
  600.  
  601. /* parameter block for MCI_INFO command message */
  602.  
  603. typedef struct  {
  604.     DWORD   dwCallback;
  605.     LPSTR   lpstrReturn;
  606.     DWORD   dwRetSize;
  607.     DWORD   dwItem;
  608. } MCI_DGV_INFO_PARMSA;
  609. typedef struct  {
  610.     DWORD   dwCallback;
  611.     LPWSTR  lpstrReturn;
  612.     DWORD   dwRetSize;
  613.     DWORD   dwItem;
  614. } MCI_DGV_INFO_PARMSW;
  615. #ifdef UNICODE
  616. typedef MCI_DGV_INFO_PARMSW MCI_DGV_INFO_PARMS;
  617. #else
  618. typedef MCI_DGV_INFO_PARMSA MCI_DGV_INFO_PARMS;
  619. #endif // UNICODE
  620. //? already typedef'd?  //typedef MCI_INFO_PARMS FAR * LPMCI_INFO_PARMS;
  621. typedef MCI_DGV_INFO_PARMSA FAR * LPMCI_DGV_INFO_PARMSA;
  622. typedef MCI_DGV_INFO_PARMSW FAR * LPMCI_DGV_INFO_PARMSW;
  623. #ifdef UNICODE
  624. typedef LPMCI_DGV_INFO_PARMSW LPMCI_DGV_INFO_PARMS;
  625. #else
  626. typedef LPMCI_DGV_INFO_PARMSA LPMCI_DGV_INFO_PARMS;
  627. #endif // UNICODE
  628.  
  629. /* parameter block for MCI_LIST command message */
  630.  
  631. typedef struct {
  632.     DWORD   dwCallback;
  633.     LPSTR   lpstrReturn;
  634.     DWORD   dwLength;
  635.     DWORD   dwNumber;
  636.     DWORD   dwItem;
  637.     LPSTR   lpstrAlgorithm;
  638. } MCI_DGV_LIST_PARMSA;
  639. typedef struct {
  640.     DWORD   dwCallback;
  641.     LPWSTR  lpstrReturn;
  642.     DWORD   dwLength;
  643.     DWORD   dwNumber;
  644.     DWORD   dwItem;
  645.     LPWSTR  lpstrAlgorithm;
  646. } MCI_DGV_LIST_PARMSW;
  647. #ifdef UNICODE
  648. typedef MCI_DGV_LIST_PARMSW MCI_DGV_LIST_PARMS;
  649. #else
  650. typedef MCI_DGV_LIST_PARMSA MCI_DGV_LIST_PARMS;
  651. #endif // UNICODE
  652. typedef MCI_DGV_LIST_PARMSA FAR * LPMCI_DGV_LIST_PARMSA;
  653. typedef MCI_DGV_LIST_PARMSW FAR * LPMCI_DGV_LIST_PARMSW;
  654. #ifdef UNICODE
  655. typedef LPMCI_DGV_LIST_PARMSW LPMCI_DGV_LIST_PARMS;
  656. #else
  657. typedef LPMCI_DGV_LIST_PARMSA LPMCI_DGV_LIST_PARMS;
  658. #endif // UNICODE
  659.  
  660. /* parameter block for MCI_LOAD command message */
  661.  
  662. typedef MCI_LOAD_PARMS MCI_DGV_LOAD_PARMS;
  663. typedef MCI_DGV_LOAD_PARMS FAR * LPMCI_DGV_LOAD_PARMS;
  664.  
  665. /* parameter block for MCI_MONITOR command message */
  666.  
  667. typedef struct {
  668.     DWORD   dwCallback;
  669.     DWORD   dwSource;
  670.     DWORD   dwMethod;
  671. } MCI_DGV_MONITOR_PARMS;
  672. typedef MCI_DGV_MONITOR_PARMS FAR * LPMCI_DGV_MONITOR_PARMS;
  673.  
  674. /* parameter block for MCI_OPEN command message */
  675.  
  676. typedef struct {
  677.     DWORD   dwCallback;
  678.     UINT    wDeviceID;
  679. #ifndef _WIN32
  680.     WORD    wReserved0;
  681. #endif
  682.     LPSTR   lpstrDeviceType;
  683.     LPSTR   lpstrElementName;
  684.     LPSTR   lpstrAlias;
  685.     DWORD   dwStyle;
  686.     HWND    hWndParent;
  687. #ifndef _WIN32
  688.     WORD    wReserved1;
  689. #endif
  690. } MCI_DGV_OPEN_PARMSA;
  691. typedef struct {
  692.     DWORD   dwCallback;
  693.     UINT    wDeviceID;
  694. #ifndef _WIN32
  695.     WORD    wReserved0;
  696. #endif
  697.     LPWSTR  lpstrDeviceType;
  698.     LPWSTR  lpstrElementName;
  699.     LPWSTR  lpstrAlias;
  700.     DWORD   dwStyle;
  701.     HWND    hWndParent;
  702. #ifndef _WIN32
  703.     WORD    wReserved1;
  704. #endif
  705. } MCI_DGV_OPEN_PARMSW;
  706. #ifdef UNICODE
  707. typedef MCI_DGV_OPEN_PARMSW MCI_DGV_OPEN_PARMS;
  708. #else
  709. typedef MCI_DGV_OPEN_PARMSA MCI_DGV_OPEN_PARMS;
  710. #endif // UNICODE
  711. typedef MCI_DGV_OPEN_PARMSA FAR * LPMCI_DGV_OPEN_PARMSA;
  712. typedef MCI_DGV_OPEN_PARMSW FAR * LPMCI_DGV_OPEN_PARMSW;
  713. #ifdef UNICODE
  714. typedef LPMCI_DGV_OPEN_PARMSW LPMCI_DGV_OPEN_PARMS;
  715. #else
  716. typedef LPMCI_DGV_OPEN_PARMSA LPMCI_DGV_OPEN_PARMS;
  717. #endif // UNICODE
  718.  
  719. /* parameter block for MCI_PAUSE command message */
  720.  
  721. typedef MCI_GENERIC_PARMS MCI_DGV_PAUSE_PARMS;
  722. typedef MCI_DGV_PAUSE_PARMS FAR * LPMCI_DGV_PAUSE_PARMS;
  723.  
  724. /* parameter block for MCI_PASTE command message */
  725.  
  726. typedef struct {
  727.     DWORD   dwCallback;
  728.     DWORD   dwTo;
  729. #ifdef MCI_USE_OFFEXT
  730.     POINT   ptOffset;
  731.     POINT   ptExtent;
  732. #else    
  733.     RECT    rc;
  734. #endif
  735.     DWORD   dwAudioStream;
  736.     DWORD   dwVideoStream;
  737. } MCI_DGV_PASTE_PARMS;
  738. typedef MCI_DGV_PASTE_PARMS FAR * LPMCI_DGV_PASTE_PARMS;
  739.  
  740. /* parameter block for MCI_PLAY command message */
  741.  
  742. typedef MCI_PLAY_PARMS MCI_DGV_PLAY_PARMS;
  743. typedef MCI_DGV_PLAY_PARMS FAR * LPMCI_DGV_PLAY_PARMS;
  744.  
  745. /* parameter block for MCI_PUT command message */
  746.  
  747. typedef MCI_DGV_RECT_PARMS MCI_DGV_PUT_PARMS;
  748. typedef MCI_DGV_PUT_PARMS FAR * LPMCI_DGV_PUT_PARMS;
  749.  
  750. /* parameter block for MCI_QUALITY command message */
  751.  
  752. typedef struct {
  753.     DWORD       dwCallback;
  754.     DWORD       dwItem;
  755.     LPSTR       lpstrName;
  756.     DWORD       lpstrAlgorithm;
  757.     DWORD       dwHandle;
  758. } MCI_DGV_QUALITY_PARMSA;
  759. typedef struct {
  760.     DWORD       dwCallback;
  761.     DWORD       dwItem;
  762.     LPWSTR      lpstrName;
  763.     DWORD       lpstrAlgorithm;
  764.     DWORD       dwHandle;
  765. } MCI_DGV_QUALITY_PARMSW;
  766. #ifdef UNICODE
  767. typedef MCI_DGV_QUALITY_PARMSW MCI_DGV_QUALITY_PARMS;
  768. #else
  769. typedef MCI_DGV_QUALITY_PARMSA MCI_DGV_QUALITY_PARMS;
  770. #endif // UNICODE
  771. typedef MCI_DGV_QUALITY_PARMSA FAR * LPMCI_DGV_QUALITY_PARMSA;
  772. typedef MCI_DGV_QUALITY_PARMSW FAR * LPMCI_DGV_QUALITY_PARMSW;
  773. #ifdef UNICODE
  774. typedef LPMCI_DGV_QUALITY_PARMSW LPMCI_DGV_QUALITY_PARMS;
  775. #else
  776. typedef LPMCI_DGV_QUALITY_PARMSA LPMCI_DGV_QUALITY_PARMS;
  777. #endif // UNICODE
  778.  
  779. /* parameter block for MCI_REALIZE command message */
  780.  
  781. typedef MCI_GENERIC_PARMS MCI_REALIZE_PARMS;
  782. typedef MCI_REALIZE_PARMS FAR * LPMCI_REALIZE_PARMS;
  783.  
  784. /* parameter block for MCI_RECORD command message */
  785.  
  786. typedef struct {
  787.     DWORD   dwCallback;
  788.     DWORD   dwFrom;
  789.     DWORD   dwTo;
  790. #ifdef MCI_USE_OFFEXT
  791.     POINT   ptOffset;
  792.     POINT   ptExtent;
  793. #else    
  794.     RECT    rc;
  795. #endif
  796.     DWORD   dwAudioStream;
  797.     DWORD   dwVideoStream;
  798. } MCI_DGV_RECORD_PARMS;
  799. typedef MCI_DGV_RECORD_PARMS FAR * LPMCI_DGV_RECORD_PARMS;
  800.  
  801. /* parameter block for MCI_RESERVE command message */
  802.  
  803. typedef struct {
  804.     DWORD   dwCallback;
  805.     LPSTR   lpstrPath;
  806.     DWORD   dwSize;
  807. } MCI_DGV_RESERVE_PARMSA;
  808. typedef struct {
  809.     DWORD   dwCallback;
  810.     LPWSTR  lpstrPath;
  811.     DWORD   dwSize;
  812. } MCI_DGV_RESERVE_PARMSW;
  813. #ifdef UNICODE
  814. typedef MCI_DGV_RESERVE_PARMSW MCI_DGV_RESERVE_PARMS;
  815. #else
  816. typedef MCI_DGV_RESERVE_PARMSA MCI_DGV_RESERVE_PARMS;
  817. #endif // UNICODE
  818. typedef MCI_DGV_RESERVE_PARMSA FAR * LPMCI_DGV_RESERVE_PARMSA;
  819. typedef MCI_DGV_RESERVE_PARMSW FAR * LPMCI_DGV_RESERVE_PARMSW;
  820. #ifdef UNICODE
  821. typedef LPMCI_DGV_RESERVE_PARMSW LPMCI_DGV_RESERVE_PARMS;
  822. #else
  823. typedef LPMCI_DGV_RESERVE_PARMSA LPMCI_DGV_RESERVE_PARMS;
  824. #endif // UNICODE
  825.  
  826. /* parameter block for MCI_RESTORE command message */
  827.  
  828. typedef struct {
  829.     DWORD   dwCallback;
  830.     LPSTR   lpstrFileName;
  831. #ifdef MCI_USE_OFFEXT
  832.     POINT   ptOffset;
  833.     POINT   ptExtent;
  834. #else    
  835.     RECT    rc;
  836. #endif
  837. } MCI_DGV_RESTORE_PARMSA;
  838. typedef struct {
  839.     DWORD   dwCallback;
  840.     LPWSTR  lpstrFileName;
  841. #ifdef MCI_USE_OFFEXT
  842.     POINT   ptOffset;
  843.     POINT   ptExtent;
  844. #else    
  845.     RECT    rc;
  846. #endif
  847. } MCI_DGV_RESTORE_PARMSW;
  848. #ifdef UNICODE
  849. typedef MCI_DGV_RESTORE_PARMSW MCI_DGV_RESTORE_PARMS;
  850. #else
  851. typedef MCI_DGV_RESTORE_PARMSA MCI_DGV_RESTORE_PARMS;
  852. #endif // UNICODE
  853. typedef MCI_DGV_RESTORE_PARMSA FAR * LPMCI_DGV_RESTORE_PARMSA;
  854. typedef MCI_DGV_RESTORE_PARMSW FAR * LPMCI_DGV_RESTORE_PARMSW;
  855. #ifdef UNICODE
  856. typedef LPMCI_DGV_RESTORE_PARMSW LPMCI_DGV_RESTORE_PARMS;
  857. #else
  858. typedef LPMCI_DGV_RESTORE_PARMSA LPMCI_DGV_RESTORE_PARMS;
  859. #endif // UNICODE
  860.  
  861. /* parameter block for MCI_RESUME command message */
  862.  
  863. typedef MCI_GENERIC_PARMS MCI_DGV_RESUME_PARMS;
  864. typedef MCI_DGV_RESUME_PARMS FAR * LPMCI_DGV_RESUME_PARMS;
  865.  
  866. /* parameter block for MCI_SAVE command message */
  867.  
  868. typedef struct {
  869.     DWORD   dwCallback;
  870.     LPSTR   lpstrFileName;
  871.     RECT    rc;
  872. } MCI_DGV_SAVE_PARMSA;
  873. typedef struct {
  874.     DWORD   dwCallback;
  875.     LPWSTR  lpstrFileName;
  876.     RECT    rc;
  877. } MCI_DGV_SAVE_PARMSW;
  878. #ifdef UNICODE
  879. typedef MCI_DGV_SAVE_PARMSW MCI_DGV_SAVE_PARMS;
  880. #else
  881. typedef MCI_DGV_SAVE_PARMSA MCI_DGV_SAVE_PARMS;
  882. #endif // UNICODE
  883. typedef MCI_DGV_SAVE_PARMSA FAR * LPMCI_DGV_SAVE_PARMSA;
  884. typedef MCI_DGV_SAVE_PARMSW FAR * LPMCI_DGV_SAVE_PARMSW;
  885. #ifdef UNICODE
  886. typedef LPMCI_DGV_SAVE_PARMSW LPMCI_DGV_SAVE_PARMS;
  887. #else
  888. typedef LPMCI_DGV_SAVE_PARMSA LPMCI_DGV_SAVE_PARMS;
  889. #endif // UNICODE
  890.  
  891. /* parameter block for MCI_SET command message */
  892.  
  893. typedef struct {
  894.     DWORD   dwCallback;
  895.     DWORD   dwTimeFormat;
  896.     DWORD   dwAudio;
  897.     DWORD   dwFileFormat;
  898.     DWORD   dwSpeed;
  899. } MCI_DGV_SET_PARMS;
  900. typedef MCI_DGV_SET_PARMS FAR * LPMCI_DGV_SET_PARMS;
  901.  
  902. /* parameter block for MCI_SETAUDIO command message */
  903.  
  904. typedef struct {
  905.     DWORD   dwCallback;
  906.     DWORD   dwItem;
  907.     DWORD   dwValue;
  908.     DWORD   dwOver;
  909.     LPSTR   lpstrAlgorithm;
  910.     LPSTR   lpstrQuality;
  911. } MCI_DGV_SETAUDIO_PARMSA;
  912. typedef struct {
  913.     DWORD   dwCallback;
  914.     DWORD   dwItem;
  915.     DWORD   dwValue;
  916.     DWORD   dwOver;
  917.     LPWSTR  lpstrAlgorithm;
  918.     LPWSTR  lpstrQuality;
  919. } MCI_DGV_SETAUDIO_PARMSW;
  920. #ifdef UNICODE
  921. typedef MCI_DGV_SETAUDIO_PARMSW MCI_DGV_SETAUDIO_PARMS;
  922. #else
  923. typedef MCI_DGV_SETAUDIO_PARMSA MCI_DGV_SETAUDIO_PARMS;
  924. #endif // UNICODE
  925. typedef MCI_DGV_SETAUDIO_PARMSA FAR * LPMCI_DGV_SETAUDIO_PARMSA;
  926. typedef MCI_DGV_SETAUDIO_PARMSW FAR * LPMCI_DGV_SETAUDIO_PARMSW;
  927. #ifdef UNICODE
  928. typedef LPMCI_DGV_SETAUDIO_PARMSW LPMCI_DGV_SETAUDIO_PARMS;
  929. #else
  930. typedef LPMCI_DGV_SETAUDIO_PARMSA LPMCI_DGV_SETAUDIO_PARMS;
  931. #endif // UNICODE
  932.  
  933. /* parameter block for MCI_SIGNAL command message */
  934.  
  935. typedef struct {
  936.     DWORD   dwCallback;
  937.     DWORD   dwPosition;
  938.     DWORD   dwPeriod;
  939.     DWORD   dwUserParm;
  940. } MCI_DGV_SIGNAL_PARMS;
  941. typedef MCI_DGV_SIGNAL_PARMS FAR * LPMCI_DGV_SIGNAL_PARMS;
  942.  
  943. /* parameter block for MCI_SETVIDEO command message */
  944.  
  945. typedef struct {
  946.     DWORD   dwCallback;
  947.     DWORD   dwItem;
  948.     DWORD   dwValue;
  949.     DWORD   dwOver;
  950.     LPSTR   lpstrAlgorithm;
  951.     LPSTR   lpstrQuality;
  952.     DWORD   dwSourceNumber;
  953. } MCI_DGV_SETVIDEO_PARMSA;
  954. typedef struct {
  955.     DWORD   dwCallback;
  956.     DWORD   dwItem;
  957.     DWORD   dwValue;
  958.     DWORD   dwOver;
  959.     LPWSTR  lpstrAlgorithm;
  960.     LPWSTR  lpstrQuality;
  961.     DWORD   dwSourceNumber;
  962. } MCI_DGV_SETVIDEO_PARMSW;
  963. #ifdef UNICODE
  964. typedef MCI_DGV_SETVIDEO_PARMSW MCI_DGV_SETVIDEO_PARMS;
  965. #else
  966. typedef MCI_DGV_SETVIDEO_PARMSA MCI_DGV_SETVIDEO_PARMS;
  967. #endif // UNICODE
  968. typedef MCI_DGV_SETVIDEO_PARMSA FAR * LPMCI_DGV_SETVIDEO_PARMSA;
  969. typedef MCI_DGV_SETVIDEO_PARMSW FAR * LPMCI_DGV_SETVIDEO_PARMSW;
  970. #ifdef UNICODE
  971. typedef LPMCI_DGV_SETVIDEO_PARMSW LPMCI_DGV_SETVIDEO_PARMS;
  972. #else
  973. typedef LPMCI_DGV_SETVIDEO_PARMSA LPMCI_DGV_SETVIDEO_PARMS;
  974. #endif // UNICODE
  975.  
  976. /* parameter block for MCI_STATUS command message */
  977.  
  978. typedef struct {
  979.     DWORD   dwCallback;
  980.     DWORD   dwReturn;
  981.     DWORD   dwItem;
  982.     DWORD   dwTrack;
  983.     LPSTR   lpstrDrive;
  984.     DWORD   dwReference;
  985. } MCI_DGV_STATUS_PARMSA;
  986. typedef struct {
  987.     DWORD   dwCallback;
  988.     DWORD   dwReturn;
  989.     DWORD   dwItem;
  990.     DWORD   dwTrack;
  991.     LPWSTR  lpstrDrive;
  992.     DWORD   dwReference;
  993. } MCI_DGV_STATUS_PARMSW;
  994. #ifdef UNICODE
  995. typedef MCI_DGV_STATUS_PARMSW MCI_DGV_STATUS_PARMS;
  996. #else
  997. typedef MCI_DGV_STATUS_PARMSA MCI_DGV_STATUS_PARMS;
  998. #endif // UNICODE
  999. typedef MCI_DGV_STATUS_PARMSA FAR * LPMCI_DGV_STATUS_PARMSA;
  1000. typedef MCI_DGV_STATUS_PARMSW FAR * LPMCI_DGV_STATUS_PARMSW;
  1001. #ifdef UNICODE
  1002. typedef LPMCI_DGV_STATUS_PARMSW LPMCI_DGV_STATUS_PARMS;
  1003. #else
  1004. typedef LPMCI_DGV_STATUS_PARMSA LPMCI_DGV_STATUS_PARMS;
  1005. #endif // UNICODE
  1006.  
  1007. /* parameter block for MCI_STEP command message */
  1008.  
  1009. typedef struct {
  1010.     DWORD   dwCallback;
  1011.     DWORD   dwFrames;
  1012. } MCI_DGV_STEP_PARMS;
  1013. typedef MCI_DGV_STEP_PARMS FAR *LPMCI_DGV_STEP_PARMS;
  1014.  
  1015. /* parameter block for MCI_STOP command message */
  1016.  
  1017. typedef MCI_GENERIC_PARMS MCI_DGV_STOP_PARMS;
  1018. typedef MCI_DGV_STOP_PARMS FAR * LPMCI_DGV_STOP_PARMS;
  1019.  
  1020. /* parameter block for MCI_UNFREEZE command message */
  1021.  
  1022. typedef MCI_DGV_RECT_PARMS MCI_DGV_UNFREEZE_PARMS;
  1023. typedef MCI_DGV_UNFREEZE_PARMS FAR * LPMCI_DGV_UNFREEZE_PARMS;
  1024.  
  1025. /* parameter block for MCI_UPDATE command message */
  1026.  
  1027. typedef struct {
  1028.     DWORD   dwCallback;
  1029. #ifdef MCI_USE_OFFEXT
  1030.     POINT   ptOffset;
  1031.     POINT   ptExtent;
  1032. #else    
  1033.     RECT    rc;
  1034. #endif
  1035.     HDC     hDC;
  1036.  
  1037. #ifndef _WIN32
  1038.     WORD    wReserved0;
  1039. #endif
  1040. } MCI_DGV_UPDATE_PARMS;
  1041. typedef MCI_DGV_UPDATE_PARMS FAR * LPMCI_DGV_UPDATE_PARMS;
  1042.  
  1043. /* parameter block for MCI_WHERE command message */
  1044.  
  1045. typedef MCI_DGV_RECT_PARMS MCI_DGV_WHERE_PARMS;
  1046. typedef MCI_DGV_WHERE_PARMS FAR * LPMCI_DGV_WHERE_PARMS;
  1047.  
  1048. /* parameter block for MCI_WINDOW command message */
  1049.  
  1050. typedef struct {
  1051.     DWORD   dwCallback;
  1052.     HWND    hWnd;
  1053. #ifndef _WIN32
  1054.     WORD    wReserved1;
  1055. #endif
  1056.     UINT    nCmdShow;
  1057. #ifndef _WIN32
  1058.     WORD    wReserved2;
  1059. #endif
  1060.     LPSTR   lpstrText;
  1061. } MCI_DGV_WINDOW_PARMSA;
  1062. typedef struct {
  1063.     DWORD   dwCallback;
  1064.     HWND    hWnd;
  1065. #ifndef _WIN32
  1066.     WORD    wReserved1;
  1067. #endif
  1068.     UINT    nCmdShow;
  1069. #ifndef _WIN32
  1070.     WORD    wReserved2;
  1071. #endif
  1072.     LPWSTR  lpstrText;
  1073. } MCI_DGV_WINDOW_PARMSW;
  1074. #ifdef UNICODE
  1075. typedef MCI_DGV_WINDOW_PARMSW MCI_DGV_WINDOW_PARMS;
  1076. #else
  1077. typedef MCI_DGV_WINDOW_PARMSA MCI_DGV_WINDOW_PARMS;
  1078. #endif // UNICODE
  1079. typedef MCI_DGV_WINDOW_PARMSA FAR * LPMCI_DGV_WINDOW_PARMSA;
  1080. typedef MCI_DGV_WINDOW_PARMSW FAR * LPMCI_DGV_WINDOW_PARMSW;
  1081. #ifdef UNICODE
  1082. typedef LPMCI_DGV_WINDOW_PARMSW LPMCI_DGV_WINDOW_PARMS;
  1083. #else
  1084. typedef LPMCI_DGV_WINDOW_PARMSA LPMCI_DGV_WINDOW_PARMS;
  1085. #endif // UNICODE
  1086.  
  1087. #ifdef __cplusplus
  1088. }                       /* End of extern "C" { */
  1089. #endif    /* __cplusplus */
  1090.  
  1091. #pragma option pop
  1092. #endif  /* !_INC_DIGITALV */
  1093.